The failure of microprocessors to continue their historic rate of frequency growth has forced the computer industry to use parallel processing to achieve performance scaling. This is a significant inflection point for the industry and it requires technology innovation to be successful.
Historically, parallel processing has been most successfully utilized to solve problems that can be decomposed into relatively large computations that have relatively low interaction rates with each other. Unfortunately, not all problem solutions can be mapped to this model. To make parallel processing more applicable to a wider variety of problems, it can be necessary to employ fine-grained concurrency (FGC). Fine-grained concurrency typically has been defined as solution methods in which each computation executes for as few as several hundred instructions before it interacts with another computation. Because interactions do not directly further the computation, they generally represent an overhead associated with parallel execution. Fine-grained concurrency is particularly concerned with the efficiency of these interactions because they occur relatively more frequently than the amount of computation that is being performed.
The subject matter as claimed is directed toward resolving or at the very least mitigating, one or all the problems elucidated above.